From 1ab51674422443a893e4a64b3ffc183e30375e31 Mon Sep 17 00:00:00 2001 From: "kaf24@scramble.cl.cam.ac.uk" Date: Sun, 23 Nov 2003 11:34:18 +0000 Subject: [PATCH] bitkeeper revision 1.633 (3fc09b3aBu9Z_PNCl6Nd9mfFp6gtGA) ide-xeno.c, xen_block.c, domain.c, xen_cpuperf.c: Bug fixes and cleanups. --- tools/misc/xen_cpuperf.c | 2 +- xen/common/domain.c | 7 ++++++- xen/drivers/block/xen_block.c | 22 +++++++++++++++++----- xen/drivers/ide/ide-xeno.c | 2 +- 4 files changed, 25 insertions(+), 8 deletions(-) diff --git a/tools/misc/xen_cpuperf.c b/tools/misc/xen_cpuperf.c index 8898206793..8b67f27c85 100644 --- a/tools/misc/xen_cpuperf.c +++ b/tools/misc/xen_cpuperf.c @@ -16,7 +16,7 @@ #include #include "p4perf.h" -#include "libxc_private.h" +#include "xc_private.h" void dom0_wrmsr( int privfd, int cpu_mask, diff --git a/xen/common/domain.c b/xen/common/domain.c index 2888e62417..1c1a25819b 100644 --- a/xen/common/domain.c +++ b/xen/common/domain.c @@ -440,7 +440,12 @@ int setup_guestos(struct task_struct *p, dom0_createdomain_t *params, return -1; } - if ( alloc_new_dom_mem(p, params->memory_kb) ) return -ENOMEM; + if ( alloc_new_dom_mem(p, params->memory_kb) ) + { + printk("DOM%d: Not enough memory --- reduce dom0_mem ??\n", dom); + return -ENOMEM; + } + alloc_address = list_entry(p->pg_head.prev, struct pfn_info, list) - frame_table; alloc_address <<= PAGE_SHIFT; diff --git a/xen/drivers/block/xen_block.c b/xen/drivers/block/xen_block.c index 6172fd6858..dc7a790408 100644 --- a/xen/drivers/block/xen_block.c +++ b/xen/drivers/block/xen_block.c @@ -20,7 +20,7 @@ #include #include -#if 1 +#if 0 #define DPRINTK(_f, _a...) printk( _f , ## _a ) #else #define DPRINTK(_f, _a...) ((void)0) @@ -624,15 +624,17 @@ static void make_response(struct task_struct *p, unsigned long id, static void dump_blockq(u_char key, void *dev_id, struct pt_regs *regs) { + unsigned long flags; struct task_struct *p; blk_ring_t *blk_ring ; + int i; printk("Dumping block queue stats: nr_pending = %d (prod=%d,cons=%d)\n", atomic_read(&nr_pending), pending_prod, pending_cons); - p = current->next_task; - do - { + read_lock_irqsave(&tasklist_lock, flags); + p = &idle0_task; + do { if ( !is_idle_task(p) ) { printk("Domain: %d\n", p->domain); @@ -644,7 +646,17 @@ static void dump_blockq(u_char key, void *dev_id, struct pt_regs *regs) __on_blkdev_list(p)); } p = p->next_task; - } while (p != current); + } + while ( (p = p->next_task) != &idle0_task ); + read_unlock_irqrestore(&tasklist_lock, flags); + + for ( i = 0; i < MAX_PENDING_REQS; i++ ) + { + printk("Pend%d: dom=%p, id=%08lx, cnt=%d, op=%d, status=%d\n", + i, pending_reqs[i].domain, pending_reqs[i].id, + atomic_read(&pending_reqs[i].pendcnt), + pending_reqs[i].operation, pending_reqs[i].status); + } } /* Start-of-day initialisation for a new domain. */ diff --git a/xen/drivers/ide/ide-xeno.c b/xen/drivers/ide/ide-xeno.c index 69df07964d..005274dfe6 100644 --- a/xen/drivers/ide/ide-xeno.c +++ b/xen/drivers/ide/ide-xeno.c @@ -65,7 +65,7 @@ int ide_probe_devices(xen_disk_info_t* xdi) cur_disk.info |= XD_FLAG_RO; cur_disk.capacity = current_capacity(drive); - cur_disk.domain = 0; /* 'physical' disks belong to domain 0 + cur_disk.domain = 0; /* 'physical' disks belong to domain 0 */ /* Now copy into relevant part of user-space buffer */ if((ret = copy_to_user(xdi->disks + xdi->count, &cur_disk, -- 2.30.2